package com.cherry.openlib.datebase.greendao;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Generated;

/**
 * 实体类不能使用kotlin
 * @Entity 的value值
 * schema：告知GreenDao当前实体属于哪个 schema
 schema active：标记一个实体处于活跃状态，活动实体有更新、删除和刷新方法
 nameInDb：在数据库中使用的别名，默认使用的是实体的类名，
 indexes：定义索引，可以跨越多个列
 createInDb：标记创建数据库表（默认：true）
 generateConstructors  自动创建全参构造方法（同时会生成一个无参构造方法）（默认：true）
 generateGettersSetters  自动生成 getters and setters 方法（默认：true）

 其他成员变量的注解
 @Index(unique = true) 作为一个属性来创建一个索引，默认是使用字段名
 @Property(nameInDb = "userName") 设置一个非默认关系映射所对应的列名，默认是使用字段名
 @NotNull
 @Transient 添加此标记后不会生成数据库表的列
 @Unique 表名该属性在数据库中只能有唯一值
 @ToOne(joinProperty = "外键") 表示一对一关系
 @OrderBy("date ASC") 某字段排序
 @ToMany(referencedJoinProperty = "外键")
 */
@Entity
public class Author {

    @Id
    private long id;

    private String name;

    private String belongCompany;

    private long birthday;

    @Generated(hash = 1486646032)
    public Author(long id, String name, String belongCompany, long birthday) {
        this.id = id;
        this.name = name;
        this.belongCompany = belongCompany;
        this.birthday = birthday;
    }

    @Generated(hash = 64241762)
    public Author() {
    }

    public long getId() {
        return this.id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBelongCompany() {
        return this.belongCompany;
    }

    public void setBelongCompany(String belongCompany) {
        this.belongCompany = belongCompany;
    }

    public long getBirthday() {
        return this.birthday;
    }

    public void setBirthday(long birthday) {
        this.birthday = birthday;
    }

}
